<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2023/12/31
 * Time: 7:28
 */
namespace app\common\service;

use EasyWeChat\Factory;

class Wx
{
    public static $config = [
        /**
         * 账号基本信息，请从微信公众平台/开放平台获取
         */
        'app_id'  => 'wx9e00202a16505424',         // AppID
        'secret'  => '0be77b3fecfd4262178430c6322d3b84',     // AppSecret
        'token'   => '4f8fd7c18b1a9215a7dc1dd023bc4a98',          // Token
        'aes_key' => 'hvfnuNeUMiXAxhhd6oIwEkFZ2bAy4G6McZz5kOBfjgy',                    // EncodingAESKey，兼容与安全模式下请一定要填写！！！

    //测试
//        'app_id'  => 'wx0a7f10a1b91b45d7',         // AppID
//        'secret'  => '6cd494b10ba82c2852b3bb0e4ef55b42',     // AppSecret
//        'token'   => '4f8fd7c18b1a9215a7dc1dd023bc4a98',          // Token
//        'aes_key' => 'hvfnuNeUMiXAxhhd6oIwEkFZ2bAy4G6McZz5kOBfjgy',
        /**
         * 指定 API 调用返回结果的类型：array(default)/collection/object/raw/自定义类名
         * 使用自定义类名时，构造函数将会接收一个 `EasyWeChat\Kernel\Http\Response` 实例
         */
        'response_type' => 'array',

        /**
         * 日志配置
         *
         * level: 日志级别, 可选为：
         *         debug/info/notice/warning/error/critical/alert/emergency
         * path：日志文件位置(绝对路径!!!)，要求可写权限
         */
        'log' => [
            'default' => 'dev', // 默认使用的 channel，生产环境可以改为下面的 prod
            'channels' => [
                // 测试环境
                'dev' => [
                    'driver' => 'single',
                    'path' => '/tmp/easywechat.log',
                    'level' => 'debug',
                ],
                // 生产环境
                'prod' => [
                    'driver' => 'daily',
                    'path' => '/tmp/easywechat.log',
                    'level' => 'info',
                ],
            ],
        ],

        /**
         * 接口请求相关配置，超时时间等，具体可用参数请参考：
         * http://docs.guzzlephp.org/en/stable/request-config.html
         *
         * - retries: 重试次数，默认 1，指定当 http 请求失败时重试的次数。
         * - retry_delay: 重试延迟间隔（单位：ms），默认 500
         * - log_template: 指定 HTTP 日志模板，请参考：https://github.com/guzzle/guzzle/blob/master/src/MessageFormatter.php
         */
        'http' => [
            'max_retries' => 1,
            'retry_delay' => 500,
            'timeout' => 5.0,
            // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri
        ],

        /**
         * OAuth 配置
         *
         * scopes：公众平台（snsapi_userinfo / snsapi_base），开放平台：snsapi_login
         * callback：OAuth授权完成后的回调页地址
         */
        'oauth' => [
            'scopes'   => ['snsapi_base'],
            'callback' => '/api/admin/wx/index/auth',
        ],
        //https://wx.jinpinh.com/api/admin/wx/index/auth
    ];

    public static function getInstance(){
        return Factory::officialAccount(self::$config);
    }
}